The threshold voltage distribution of NAND flash memory can be controlled to be narrow (i.e., a small variance) or wide (i.e., a large variance). A narrow variance will increase the signal-to-noise ratio and reduce the raw bit error rate during read operations. Less read retries and less error correction code (ECC) decoding iterations will be needed and will improve the read performance. However, by controlling distribution width, program operations will be slowed down. There will be a tradeoff of system performance between read and program operations. In a typical system, some of the data are read more frequently than others. Frequently read data is referred to as hot-read data. Less frequently read data is not hot-read data. The total system operations is the sum of one program operation and multiple read operations.